home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Day Cry
/
Day Cry CD.bin
/
oh_towns
/
ippon
/
ippon04
/
homing.bas
next >
Wrap
BASIC Source File
|
1994-09-20
|
3KB
|
81 lines
10000 '**********************************************************
10010 ' ùUô▒ÆeâTâôâvâïâvâìâOâëâÇ by Makken
10020 '**********************************************************
10030 DEFINT A-Z : RANDOMIZE TIME
10040 SCREEN @1 : DEF SPRITE 99,0
10050 '************ âvâìâOâëâÇÆåé┼ùpéóéΘÆΦÉö
10060 MYSPEED=3 : 'Å╞ÅÇé╠ê┌ô«æ¼ôx
10070 BSPEED=3 : 'ùUô▒Æeé╠ê┌ô«æ¼ôx
10080 BMAX=32 : 'ùUô▒Æeé╠Åoî╗Éö
10090 SHIFT=64 : 'É╕ôxèmò█ùpé╔è|é»éΘÆl
10100 '************ özù±é≡ÉΘî╛
10110 DIM PTN%(16*16),BX(BMAX),BY(BMAX),BV(BMAX),BW(BMAX),BP(BMAX)
10120 '************ Å╞ÅÇê┌ô«é╔ùpéóéΘözù±é≡Åëè·ë╗
10130 FOR I=1 TO 8
10140 READ MV(I),MW(I)
10150 NEXT
10160 DATA 0,-1,1,-1,1,0,1,1,0,1,-1,1,-1,0,-1,-1
10170 '************ ùUô▒Æeé╠âpâ^ü[âôé≡ì∞éΘ
10180 FOR I=1 TO 8
10190 LINE(0,0)-(15,15),PSET,[0,0,0,1],BF
10200 CIRCLE(8+MV(I),8+MW(I)),2,[112,224,64],,,,F
10210 CIRCLE(8-MV(I),8-MW(I)),2,[176,240,96],,,,F
10220 GET@A(0,0)-(15,15),PTN%
10230 DEF SPRITE 0,I*4,PTN%,1
10240 NEXT
10250 '************ Å╞ÅÇé╠âpâ^ü[âôé≡ì∞éΘ
10260 LINE(0,0)-(15,15),PSET,[32,0,152],BF
10270 LINE(2,2)-(13,13),PSET,[0,0,0,1],BF
10280 LINE(0,4)-(15,11),PSET,[0,0,0,1],BF:LINE(4,0)-(11,15),PSET,[0,0,0,1],BF
10290 LINE(0,7)-(15,8),PSET,[255,255,255],BF
10300 LINE(7,0)-(8,15),PSET,[255,255,255],BF
10310 LINE(6,6)-(9,9),PSET,[0,0,0,1],BF
10320 GET@A(0,0)-(15,15),PTN%
10330 DEF SPRITE 0,0,PTN%,1
10340 '************ Åëè·É▌ÆΦ
10350 CLS : MX=120 : MY=112
10360 FOR I=1 TO 8
10370 MV(I)=MV(I)*MYSPEED : MW(I)=MW(I)*MYSPEED
10380 NEXT
10390 DEF SPRITE 1,0,(MX,MY),0
10400 FOR I=1 TO BMAX
10410 GOSUB *NEWBULLET
10420 DEF SPRITE 1,I,(256,240),4
10430 NEXT
10440 SPRITE ON:SPRITE SCREEN 1
10450 FOR I=0 TO BMAX
10460 SPRITE 0,I,1
10470 NEXT
10480 '************ âüâCâôâïü[â`âô
10490 *MAIN
10500 '******** Å╞ÅÇé╠Åêù¥
10510 P=PAD(1)
10520 MX=MX+MV(P) : IF (MX<0 OR MX>240) THEN MX=MX-MV(P)
10530 MY=MY+MW(P) : IF (MY<0 OR MY>224) THEN MY=MY-MW(P)
10540 SPRITE 6,0,MX-SPRITE(0,6),MY-SPRITE(0,7)
10550 '******** ùUô▒Æeé╠Åêù¥
10560 FOR I=1 TO BMAX
10570 IF (BX(I)<-16*SHIFT OR BX(I)>256*SHIFT OR BY(I)<-16*SHIFT OR BY(I)>240*SHIFT) THEN GOSUB *NEWBULLET
10580 SPRITE 6,I,BX(I)/SHIFT-SPRITE(I,6),BY(I)/SHIFT-SPRITE(I,7)
10590 SPRITE 1,I,BP(I)*4+4
10600 BX(I)=BX(I)+BV(I) : BY(I)=BY(I)+BW(I)
10610 BP(I)=(BP(I)+1) MOD 8
10620 NEXT
10630 GOTO *MAIN
10640 '************ ÉVé╡éóùUô▒Æeé≡Åoî╗é│é╣éΘâTâuâïü[â`âô
10650 *NEWBULLET
10660 IF (RND(1)<.5!) THEN
10670 BX(I)=RND(1)*272-16
10680 BY(I)=INT(RND(1)*2)*256-16
10690 ELSE
10700 BX(I)=INT(RND(1)*2)*272-16
10710 BY(I)=RND(1)*256-16
10720 ENDIF
10730 BP(I)=1
10740 '******** ùUô▒Åêù¥
10750 V=MX-BX(I) : W=MY-BY(I)
10760 D=INT(SQR(V*V+W*W))
10770 BV(I)=V*SHIFT/D*BSPEED : BW(I)=W*SHIFT/D*BSPEED
10780 BX(I)=BX(I)*SHIFT : BY(I)=BY(I)*SHIFT
10790 RETURN